package com.baixun.gassystem.mapper;

import com.baixun.gasentity.dto.UserOrderDto;
import com.baixun.gasentity.entity.SysDepartmentUserRoles;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * 系统部门用户角色映射器接口
 * 该接口用于定义针对系统部门用户角色关联表的数据库操作
 * 继承自BaseMapper，以获取基础的CRUD功能
 */
@Mapper
public interface SysDepartmentUserRolesMapper extends BaseMapper<SysDepartmentUserRoles> {

    /**
     *查询本节点及父节点的数据
     * @param userId 用户ID
     * @return 部门ID列表
     */
    List<UserOrderDto> selectDepartmentAll(@Param("userId") Long userId);


    /**
     * 查询部门id
      * @param userId
     * @return部门集合
     */
    @Select("SELECT dept_id FROM sys_department_user_roles WHERE user_id = #{userId}")
    List<Long> selectDeptIdsByUserId(Long userId);

    /**
     * 通过id查询角色所有权限
     * @param userId
     * @return
     */
    @Select("SELECT * FROM sys_department_user_roles WHERE user_id = #{userId}")
    List<SysDepartmentUserRoles> selectByUserId(Long userId);

}

